#!/bin/bash

# Better Auth 全栈应用快速设置脚本
echo "🚀 开始设置 Better Auth 全栈应用..."

# 检查Docker是否安装
if ! command -v docker &> /dev/null; then
    echo "❌ Docker未安装，请先安装Docker"
    exit 1
fi

if ! command -v docker-compose &> /dev/null; then
    echo "❌ Docker Compose未安装，请先安装Docker Compose"
    exit 1
fi

# 检查.env文件
if [ ! -f .env ]; then
    echo "📋 创建环境变量文件..."
    if [ -f .env.example ]; then
        cp .env.example .env
        echo "✅ 已从.env.example创建.env文件"
        echo "⚠️  请检查并修改.env文件中的配置"
    else
        echo "❌ 找不到.env.example文件"
        exit 1
    fi
else
    echo "✅ .env文件已存在"
fi

# 检查前端依赖
echo "📦 检查前端依赖..."
cd frontend
if [ ! -d "node_modules" ]; then
    echo "📥 安装前端依赖..."
    npm install
    if [ $? -eq 0 ]; then
        echo "✅ 前端依赖安装成功"
    else
        echo "❌ 前端依赖安装失败"
        exit 1
    fi
else
    echo "✅ 前端依赖已安装"
fi
cd ..

# 启动服务
echo "🐳 启动Docker服务..."
docker-compose up -d

# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 10

# 检查服务状态
echo "🔍 检查服务状态..."
docker-compose ps

# 检查数据库连接
echo "🗄️  检查数据库连接..."
docker-compose exec db pg_isready -U postgres_user -d fullstack_db
if [ $? -eq 0 ]; then
    echo "✅ 数据库连接正常"
else
    echo "⚠️  数据库可能还在启动中，请稍等片刻"
fi

echo ""
echo "🎉 设置完成！"
echo ""
echo "📱 访问地址："
echo "   前端应用: http://localhost:3000"
echo "   后端API:  http://localhost:8000"
echo "   数据库:   localhost:5432"
echo ""
echo "📚 使用说明："
echo "   1. 访问 http://localhost:3000 开始使用应用"
echo "   2. 注册新用户或使用现有账户登录"
echo "   3. 查看 README-AUTH.md 了解详细使用方法"
echo ""
echo "🛠️  管理命令："
echo "   查看日志: docker-compose logs -f"
echo "   停止服务: docker-compose down"
echo "   重启服务: docker-compose restart"
echo ""
echo "❓ 如有问题，请查看 README-AUTH.md 中的故障排除部分" 